home *** CD-ROM | disk | FTP | other *** search
/ Apple CD-ROM Titles Sampler / Apple CD-ROM Titles Sampler.iso / CD-ROM Titles Sampler / CD-ROM Titles Sampler.rsrc / XCMD_19911_InstallQT.txt < prev    next >
Text File  |  1992-02-25  |  76KB  |  1,360 lines

  1. start:
  2. 00000000  4E56 0000                link       A6, 0
  3. 00000004  2F2E 0008                move.l     -[A7], [A6 + 0x8]
  4. 00000008  4EBA 0154                jsr        [PC + 0x154 /* 0000015E */]
  5. 0000000C  4E5E                     unlink     A6
  6. 0000000E  2E9F                     move.l     [A7], [A7]+
  7. 00000010  4E75                     rts
  8. 00000012  8A45                     or.w       D5, D5
  9. 00000014  4E54 5259                link       A4, -0xFFFFADA7
  10. 00000018  504F                     addq.w     A7, 8
  11. 0000001A  494E                     chk.w      D4, A6
  12. 0000001C  5400                     addq.b     D0, 2
  13. 0000001E  0000 4E56                ori.b      D0, 0x56 /* 'V' */
  14. // begin alternate branch 00000020-00000026
  15. fn00000020:
  16. 00000020  4E56 FE00                link       A6, -0x0200
  17. 00000024  2F0C                     move.l     -[A7], A4
  18. // end alternate branch 00000020-00000026
  19. fn00000020: // (misaligned)
  20. 00000022  FE00 2F0C                .unknown   0xFE00 0x2F0C (W = 7)
  21. 00000026  206E 000C                movea.l    A0, [A6 + 0xC]
  22. 0000002A  43EE FF00                lea.l      A1, [A6 - 0x100]
  23. 0000002E  703F                     moveq.l    D0, 0x3F
  24. label00000030:
  25. 00000030  22D8                     move.l     [A1]+, [A0]+
  26. 00000032  51C8 FFFC                dbf        D0, -0x6 /* 00000030 */
  27. 00000036  286E 0008                movea.l    A4, [A6 + 0x8]
  28. 0000003A  4A6E 0010                tst.w      [A6 + 0x10]
  29. 0000003E  6602                     bne        +0x4 /* 00000042 */
  30. 00000040  606C                     bra        +0x6E /* 000000AE */
  31. label00000042:
  32. 00000042  2F2C 0008                move.l     -[A7], [A4 + 0x8]
  33. 00000046  302E 0010                move.w     D0, [A6 + 0x10]
  34. 0000004A  48C0                     ext.l      D0
  35. 0000004C  2F00                     move.l     -[A7], D0
  36. 0000004E  486C FEEE                pea.l      [A4 - 0x112]
  37. 00000052  4EBA 0474                jsr        [PC + 0x474 /* 000004C8 */]
  38. 00000056  487A 0076                pea.l      [PC + 0x76 /* 000000CE, value 0x6457272, pstring "Error " */]
  39. 0000005A  486C FEEE                pea.l      [A4 - 0x112]
  40. 0000005E  487A 006A                pea.l      [PC + 0x6A /* 000000CA, value 0x2202800, pstring " (" */]
  41. 00000062  486E FF00                pea.l      [A6 - 0x100]
  42. 00000066  487A 0060                pea.l      [PC + 0x60 /* 000000C8, value 0x1290220 */]
  43. 0000006A  486E FE00                pea.l      [A6 - 0x200]
  44. 0000006E  3F3C 0005                move.w     -[A7], 0x5
  45. 00000072  4EBA 0C48                jsr        [PC + 0xC48 /* 00000CBC */]
  46. 00000076  41EC FEEE                lea.l      A0, [A4 - 0x112]
  47. 0000007A  43EE FE00                lea.l      A1, [A6 - 0x200]
  48. 0000007E  703F                     moveq.l    D0, 0x3F
  49. label00000080:
  50. 00000080  20D9                     move.l     [A0]+, [A1]+
  51. 00000082  51C8 FFFC                dbf        D0, -0x6 /* 00000080 */
  52. 00000086  206C 0008                movea.l    A0, [A4 + 0x8]
  53. 0000008A  2F08                     move.l     -[A7], A0
  54. 0000008C  42A7                     clr.l      -[A7]
  55. 0000008E  2F2C 0008                move.l     -[A7], [A4 + 0x8]
  56. 00000092  486C FEEE                pea.l      [A4 - 0x112]
  57. 00000096  4EBA 0460                jsr        [PC + 0x460 /* 000004F8 */]
  58. 0000009A  201F                     move.l     D0, [A7]+
  59. 0000009C  205F                     movea.l    A0, [A7]+
  60. 0000009E  2140 0042                move.l     [A0 + 0x42], D0
  61. 000000A2  206E 0008                movea.l    A0, [A6 + 0x8]
  62. 000000A6  2C48                     movea.l    A6, A0
  63. 000000A8  4EFA 02EA                jmp        [PC + 0x2EA /* 00000394 */]
  64. 000000AC  0000 285F                ori.b      D0, 0x5F /* '_' */
  65. // begin alternate branch 000000AE-000000B0
  66. label000000AE:
  67. 000000AE  285F                     movea.l    A4, [A7]+
  68. // end alternate branch 000000AE-000000B0
  69. label000000AE: // (misaligned)
  70. 000000B0  4E5E                     unlink     A6
  71. 000000B2  205F                     movea.l    A0, [A7]+
  72. 000000B4  DEFC 000A                add.w      A7, 0xA /* '\n' */
  73. 000000B8  4ED0                     jmp        [A0]
  74. 000000BA  8B46 4149                pack       D5, D6, 0x4149
  75. 000000BE  4C4F 4E45                movem.l    D0,D2,D6,A1,A2,A3,A6, A7
  76. 000000C2  5252                     addq.w     [A2], 1
  77. 000000C4  4F52                     chk.w      D7, [A2]
  78. 000000C6  000E 0129                ori.b      A6, 0x29 /* ')' */
  79. 000000CA  0220 2800                andi.b     -[A0], 0x0
  80. 000000CE  0645 7272                addi.w     D5, 0x7272 /* 'rr' */
  81. 000000D2  6F72                     ble        +0x74 /* 00000146 */
  82. 000000D4  2000                     move.l     D0, D0
  83. fn000000D6:
  84. 000000D6  4E56 FDFA                link       A6, -0x0206
  85. 000000DA  48E7 0700                movem.l    -[A7], D5,D6,D7
  86. 000000DE  4247                     clr.w      D7
  87. 000000E0  206E 0008                movea.l    A0, [A6 + 0x8]
  88. 000000E4  4245                     clr.w      D5
  89. 000000E6  1A10                     move.b     D5, [A0]
  90. 000000E8  3C05                     move.w     D6, D5
  91. 000000EA  6016                     bra        +0x18 /* 00000102 */
  92. label000000EC:
  93. 000000EC  206E 0008                movea.l    A0, [A6 + 0x8]
  94. 000000F0  4240                     clr.w      D0
  95. 000000F2  1030 6000                move.b     D0, [A0 + D6.w]
  96. 000000F6  723A                     moveq.l    D1, 0x3A
  97. 000000F8  B240                     cmp.w      D1, D0
  98. 000000FA  6604                     bne        +0x6 /* 00000100 */
  99. 000000FC  3E06                     move.w     D7, D6
  100. 000000FE  6008                     bra        +0xA /* 00000108 */
  101. label00000100:
  102. 00000100  5346                     subq.w     D6, 1
  103. label00000102:
  104. 00000102  7001                     moveq.l    D0, 0x01
  105. 00000104  B046                     cmp.w      D0, D6
  106. 00000106  6FE4                     ble        -0x1A /* 000000EC */
  107. label00000108:
  108. 00000108  4A47                     tst.w      D7
  109. 0000010A  6602                     bne        +0x4 /* 0000010E */
  110. 0000010C  6038                     bra        +0x3A /* 00000146 */
  111. label0000010E:
  112. 0000010E  2F2E 0008                move.l     -[A7], [A6 + 0x8]
  113. 00000112  3007                     move.w     D0, D7
  114. 00000114  5240                     addq.w     D0, 1
  115. 00000116  3F00                     move.w     -[A7], D0
  116. 00000118  3005                     move.w     D0, D5
  117. 0000011A  9047                     sub.w      D0, D7
  118. 0000011C  3F00                     move.w     -[A7], D0
  119. 0000011E  486E FDFA                pea.l      [A6 - 0x206]
  120. 00000122  4EBA 0BF2                jsr        [PC + 0xBF2 /* 00000D16 */]
  121. 00000126  41EE FEFA                lea.l      A0, [A6 - 0x106]
  122. 0000012A  43EE FDFA                lea.l      A1, [A6 - 0x206]
  123. 0000012E  703F                     moveq.l    D0, 0x3F
  124. label00000130:
  125. 00000130  20D9                     move.l     [A0]+, [A1]+
  126. 00000132  51C8 FFFC                dbf        D0, -0x6 /* 00000130 */
  127. 00000136  206E 0008                movea.l    A0, [A6 + 0x8]
  128. 0000013A  43EE FEFA                lea.l      A1, [A6 - 0x106]
  129. 0000013E  703F                     moveq.l    D0, 0x3F
  130. label00000140:
  131. 00000140  20D9                     move.l     [A0]+, [A1]+
  132. 00000142  51C8 FFFC                dbf        D0, -0x6 /* 00000140 */
  133. label00000146:
  134. 00000146  4CDF 00E0                movem.l    D5,D6,D7, [A7]+
  135. 0000014A  4E5E                     unlink     A6
  136. 0000014C  205F                     movea.l    A0, [A7]+
  137. 0000014E  584F                     addq.w     A7, 4
  138. 00000150  4ED0                     jmp        [A0]
  139. 00000152  8953                     or.w       [A3], D4
  140. 00000154  5452                     addq.w     [A2], 2
  141. 00000156  4950                     chk.w      D4, [A0]
  142. 00000158  5041                     addq.w     D1, 8
  143. 0000015A  5448                     addq.w     A0, 2
  144. 0000015C  0000 4E56                ori.b      D0, 0x56 /* 'V' */
  145. // begin alternate branch 0000015E-00000162
  146. fn0000015E:
  147. 0000015E  4E56 FD90                link       A6, -0x0270
  148. // end alternate branch 0000015E-00000162
  149. fn0000015E: // (misaligned)
  150. 00000160  FD90                     .invalid   <<F/6/6>>
  151. 00000162  48E7 1F38                movem.l    -[A7], D3,D4,D5,D6,D7,A2,A3,A4
  152. 00000166  422E FEEE                clr.b      [A6 - 0x112]
  153. 0000016A  4267                     clr.w      -[A7]
  154. 0000016C  2F3C 7379 7376           move.l     -[A7], 0x73797376 /* 'sysv' */
  155. 00000172  486E FD94                pea.l      [A6 - 0x26C]
  156. 00000176  4EBA 0936                jsr        [PC + 0x936 /* 00000AAE */]
  157. 0000017A  3D5F FFFE                move.w     [A6 - 0x2], [A7]+
  158. 0000017E  0CAE 0000 0700 FD94      cmpi.l     [A6 - 0x26C], 0x700
  159. 00000186  6C4C                     bge        +0x4E /* 000001D4 */
  160. 00000188  2F3C 0001 0000           move.l     -[A7], 0x10000
  161. 0000018E  486E FFEE                pea.l      [A6 - 0x12]
  162. 00000192  4EBA 07B0                jsr        [PC + 0x7B0 /* 00000944 */]
  163. 00000196  3D5F FFFE                move.w     [A6 - 0x2], [A7]+
  164. 0000019A  2F2E 0008                move.l     -[A7], [A6 + 0x8]
  165. 0000019E  486E FEB4                pea.l      [A6 - 0x14C]
  166. 000001A2  7034                     moveq.l    D0, 0x34
  167. 000001A4  2F00                     move.l     -[A7], D0
  168. 000001A6  4EBA 02F0                jsr        [PC + 0x2F0 /* 00000498 */]
  169. 000001AA  3D6E FFFC FECA           move.w     [A6 - 0x136], [A6 - 0x4]
  170. 000001B0  4267                     clr.w      -[A7]
  171. 000001B2  486E FEB4                pea.l      [A6 - 0x14C]
  172. 000001B6  4267                     clr.w      -[A7]
  173. 000001B8  4EBA 0478                jsr        [PC + 0x478 /* 00000632 */]
  174. 000001BC  487A 02CE                pea.l      [PC + 0x2CE /* 0000048C, value 0xB504247, pstring "PBGetWDInfo" */]
  175. 000001C0  2F0E                     move.l     -[A7], A6
  176. 000001C2  4EBA FE5C                jsr        [PC - 0x1A4 /* 00000020 */]
  177. 000001C6  2D6E FEE4 FEEA           move.l     [A6 - 0x116], [A6 - 0x11C]
  178. 000001CC  3D6E FED4 FEE8           move.w     [A6 - 0x118], [A6 - 0x12C]
  179. 000001D2  6024                     bra        +0x26 /* 000001F8 */
  180. label000001D4:
  181. 000001D4  2F3C FFFF 0000           move.l     -[A7], 0xFFFF0000
  182. 000001DA  2F3C 6578 746E           move.l     -[A7], 0x6578746E /* 'extn' */
  183. 000001E0  4267                     clr.w      -[A7]
  184. 000001E2  486E FEE8                pea.l      [A6 - 0x118]
  185. 000001E6  486E FEEA                pea.l      [A6 - 0x116]
  186. 000001EA  4EBA 0600                jsr        [PC + 0x600 /* 000007EC */]
  187. 000001EE  487A 0276                pea.l      [PC + 0x276 /* 00000466, value 0x24666169 '$fai', pstring "failed to find the Extensions folder" */]
  188. 000001F2  2F0E                     move.l     -[A7], A6
  189. 000001F4  4EBA FE2A                jsr        [PC - 0x1D6 /* 00000020 */]
  190. label000001F8:
  191. 000001F8  42A7                     clr.l      -[A7]
  192. 000001FA  3F3C 4DC7                move.w     -[A7], 0x4DC7
  193. 000001FE  A9BA                     syscall    GetString
  194. 00000200  205F                     movea.l    A0, [A7]+
  195. 00000202  2050                     movea.l    A0, [A0]
  196. 00000204  43EE FDB4                lea.l      A1, [A6 - 0x24C]
  197. 00000208  703F                     moveq.l    D0, 0x3F
  198. label0000020A:
  199. 0000020A  22D8                     move.l     [A1]+, [A0]+
  200. 0000020C  51C8 FFFC                dbf        D0, -0x6 /* 0000020A */
  201. 00000210  4267                     clr.w      -[A7]
  202. 00000212  486E FDB4                pea.l      [A6 - 0x24C]
  203. 00000216  4267                     clr.w      -[A7]
  204. 00000218  486E FDB2                pea.l      [A6 - 0x24E]
  205. 0000021C  4EBA 03BC                jsr        [PC + 0x3BC /* 000005DA */]
  206. 00000220  487A 023C                pea.l      [PC + 0x23C /* 0000045E, value 0x64F7065, pstring "OpenRF" */]
  207. 00000224  2F0E                     move.l     -[A7], A6
  208. 00000226  4EBA FDF8                jsr        [PC - 0x208 /* 00000020 */]
  209. 0000022A  4267                     clr.w      -[A7]
  210. 0000022C  3F2E FDB2                move.w     -[A7], [A6 - 0x24E]
  211. 00000230  486E FDAC                pea.l      [A6 - 0x254]
  212. 00000234  4EBA 03DA                jsr        [PC + 0x3DA /* 00000610 */]
  213. 00000238  487A 021C                pea.l      [PC + 0x21C /* 00000456, value 0x6476574, pstring "GetEOF" */]
  214. 0000023C  2F0E                     move.l     -[A7], A6
  215. 0000023E  4EBA FDE0                jsr        [PC - 0x220 /* 00000020 */]
  216. 00000242  42A7                     clr.l      -[A7]
  217. 00000244  2F3C 0001 0000           move.l     -[A7], 0x10000
  218. 0000024A  4EBA 02EC                jsr        [PC + 0x2EC /* 00000538 */]
  219. 0000024E  2D5F FDA8                move.l     [A6 - 0x258], [A7]+
  220. 00000252  6610                     bne        +0x12 /* 00000264 */
  221. 00000254  4267                     clr.w      -[A7]
  222. 00000256  3EB8 0220                move.w     [A7], [0x00000220 /* MemErr */]
  223. 0000025A  487A 01E2                pea.l      [PC + 0x1E2 /* 0000043E, value 0x16616C6C, pstring "allocating copy buffer" */]
  224. 0000025E  2F0E                     move.l     -[A7], A6
  225. 00000260  4EBA FDBE                jsr        [PC - 0x242 /* 00000020 */]
  226. label00000264:
  227. 00000264  2F2E FDA8                move.l     -[A7], [A6 - 0x258]
  228. 00000268  205F                     movea.l    A0, [A7]+
  229. 0000026A  A029                     syscall    HLock
  230. 0000026C  4267                     clr.w      -[A7]
  231. 0000026E  486E FDB4                pea.l      [A6 - 0x24C]
  232. 00000272  4267                     clr.w      -[A7]
  233. 00000274  486E FD98                pea.l      [A6 - 0x268]
  234. 00000278  4EBA 032A                jsr        [PC + 0x32A /* 000005A4 */]
  235. 0000027C  487A 01AE                pea.l      [PC + 0x1AE /* 0000042C, value 0x11676574, pstring "getting file info" */]
  236. 00000280  2F0E                     move.l     -[A7], A6
  237. 00000282  4EBA FD9C                jsr        [PC - 0x264 /* 00000020 */]
  238. 00000286  3D7C 2000 FDA0           move.w     [A6 - 0x260], 0x2000 /* ' \0' */
  239. 0000028C  7000                     moveq.l    D0, 0x00
  240. 0000028E  2D40 FDA2                move.l     [A6 - 0x25E], D0
  241. 00000292  486E FDB4                pea.l      [A6 - 0x24C]
  242. 00000296  4EBA FE3E                jsr        [PC - 0x1C2 /* 000000D6 */]
  243. 0000029A  4267                     clr.w      -[A7]
  244. 0000029C  3F2E FEE8                move.w     -[A7], [A6 - 0x118]
  245. 000002A0  2F2E FEEA                move.l     -[A7], [A6 - 0x116]
  246. 000002A4  486E FDB4                pea.l      [A6 - 0x24C]
  247. 000002A8  2F2E FD9C                move.l     -[A7], [A6 - 0x264]
  248. 000002AC  2F2E FD98                move.l     -[A7], [A6 - 0x268]
  249. 000002B0  4EBA 043A                jsr        [PC + 0x43A /* 000006EC */]
  250. 000002B4  487A 0160                pea.l      [PC + 0x160 /* 00000416, value 0x15637265, pstring "creating the new file" */]
  251. 000002B8  2F0E                     move.l     -[A7], A6
  252. 000002BA  4EBA FD64                jsr        [PC - 0x29C /* 00000020 */]
  253. 000002BE  4267                     clr.w      -[A7]
  254. 000002C0  3F2E FEE8                move.w     -[A7], [A6 - 0x118]
  255. 000002C4  2F2E FEEA                move.l     -[A7], [A6 - 0x116]
  256. 000002C8  486E FDB4                pea.l      [A6 - 0x24C]
  257. 000002CC  486E FD98                pea.l      [A6 - 0x268]
  258. 000002D0  4EBA 04A0                jsr        [PC + 0x4A0 /* 00000772 */]
  259. 000002D4  487A 012A                pea.l      [PC + 0x12A /* 00000400, value 0x15736574, pstring "setting new file info" */]
  260. 000002D8  2F0E                     move.l     -[A7], A6
  261. 000002DA  4EBA FD44                jsr        [PC - 0x2BC /* 00000020 */]
  262. 000002DE  4267                     clr.w      -[A7]
  263. 000002E0  3F2E FEE8                move.w     -[A7], [A6 - 0x118]
  264. 000002E4  2F2E FEEA                move.l     -[A7], [A6 - 0x116]
  265. 000002E8  486E FDB4                pea.l      [A6 - 0x24C]
  266. 000002EC  4267                     clr.w      -[A7]
  267. 000002EE  486E FDB0                pea.l      [A6 - 0x250]
  268. 000002F2  4EBA 039C                jsr        [PC + 0x39C /* 00000690 */]
  269. 000002F6  487A 00F6                pea.l      [PC + 0xF6 /* 000003EE, value 0x106F7065, pstring "opening new file" */]
  270. 000002FA  2F0E                     move.l     -[A7], A6
  271. 000002FC  4EBA FD22                jsr        [PC - 0x2DE /* 00000020 */]
  272. 00000300  2D7C 0001 0000 FD90      move.l     [A6 - 0x270], 0x10000
  273. label00000308:
  274. 00000308  4267                     clr.w      -[A7]
  275. 0000030A  3F2E FDB2                move.w     -[A7], [A6 - 0x24E]
  276. 0000030E  486E FD90                pea.l      [A6 - 0x270]
  277. 00000312  206E FDA8                movea.l    A0, [A6 - 0x258]
  278. 00000316  2F10                     move.l     -[A7], [A0]
  279. 00000318  4EBA 0242                jsr        [PC + 0x242 /* 0000055C */]
  280. 0000031C  3D5F FFFE                move.w     [A6 - 0x2], [A7]+
  281. 00000320  56C0                     sne        D0
  282. 00000322  4A00                     tst.b      D0
  283. 00000324  671A                     beq        +0x1C /* 00000340 */
  284. 00000326  72D9                     moveq.l    D1, 0xFFFFFFD9
  285. 00000328  B26E FFFE                cmp.w      D1, [A6 - 0x2]
  286. 0000032C  56C1                     sne        D1
  287. 0000032E  C001                     and.b      D0, D1
  288. 00000330  670E                     beq        +0x10 /* 00000340 */
  289. 00000332  3F2E FFFE                move.w     -[A7], [A6 - 0x2]
  290. 00000336  487A 00A8                pea.l      [PC + 0xA8 /* 000003E0, value 0xC726561, pstring "reading file" */]
  291. 0000033A  2F0E                     move.l     -[A7], A6
  292. 0000033C  4EBA FCE2                jsr        [PC - 0x31E /* 00000020 */]
  293. label00000340:
  294. 00000340  4267                     clr.w      -[A7]
  295. 00000342  3F2E FDB0                move.w     -[A7], [A6 - 0x250]
  296. 00000346  486E FD90                pea.l      [A6 - 0x270]
  297. 0000034A  206E FDA8                movea.l    A0, [A6 - 0x258]
  298. 0000034E  2F10                     move.l     -[A7], [A0]
  299. 00000350  4EBA 020E                jsr        [PC + 0x20E /* 00000560 */]
  300. 00000354  487A 007C                pea.l      [PC + 0x7C /* 000003D2, value 0xC777269, pstring "writing file" */]
  301. 00000358  2F0E                     move.l     -[A7], A6
  302. 0000035A  4EBA FCC4                jsr        [PC - 0x33C /* 00000020 */]
  303. 0000035E  4A6E FFFE                tst.w      [A6 - 0x2]
  304. 00000362  67A4                     beq        -0x5A /* 00000308 */
  305. 00000364  2F2E FDA8                move.l     -[A7], [A6 - 0x258]
  306. 00000368  205F                     movea.l    A0, [A7]+
  307. 0000036A  A023                     syscall    DisposHandle/DisposeHandle
  308. 0000036C  4267                     clr.w      -[A7]
  309. 0000036E  3F2E FDB0                move.w     -[A7], [A6 - 0x250]
  310. 00000372  4EBA 01CE                jsr        [PC + 0x1CE /* 00000542 */]
  311. 00000376  487A 0048                pea.l      [PC + 0x48 /* 000003C0, value 0x10636C6F, pstring "closing new file" */]
  312. 0000037A  2F0E                     move.l     -[A7], A6
  313. 0000037C  4EBA FCA2                jsr        [PC - 0x35E /* 00000020 */]
  314. 00000380  4267                     clr.w      -[A7]
  315. 00000382  3F2E FDB2                move.w     -[A7], [A6 - 0x24E]
  316. 00000386  4EBA 01BA                jsr        [PC + 0x1BA /* 00000542 */]
  317. 0000038A  487A 0022                pea.l      [PC + 0x22 /* 000003AE, value 0x10636C6F, pstring "closing old file" */]
  318. 0000038E  2F0E                     move.l     -[A7], A6
  319. 00000390  4EBA FC8E                jsr        [PC - 0x372 /* 00000020 */]
  320. label00000394:
  321. 00000394  4FEE FD70                lea.l      A7, [A6 - 0x290]
  322. 00000398  4CDF 1CF8                movem.l    D3,D4,D5,D6,D7,A2,A3,A4, [A7]+
  323. 0000039C  4E5E                     unlink     A6
  324. 0000039E  2E9F                     move.l     [A7], [A7]+
  325. 000003A0  4E75                     rts
  326. 000003A2  8949 4E53                pack       -[A4], -[A1], 0x4E53
  327. 000003A6  5441                     addq.w     D1, 2
  328. 000003A8  4C4C 5154                movem.l    D2,D4,D6,A0,A4,A6, A4
  329. 000003AC  00EA                     .incomplete
  330. 000003AE  1063                     movea.b    A0, -[A3]
  331. 000003B0  6C6F                     bge        +0x71 /* 00000421 */
  332. 000003B2  7369                     moveq.l    D1, 0x69
  333. 000003B4  6E67                     bgt        +0x69 /* 0000041D */
  334. 000003B6  206F 6C64                movea.l    A0, [A7 + 0x6C64]
  335. 000003BA  2066                     movea.l    A0, -[A6]
  336. 000003BC  696C                     bvs        +0x6E /* 0000042A */
  337. 000003BE  6500 1063                bcs        +0x1065 /* 00001423 */
  338. 000003C2  6C6F                     bge        +0x71 /* 00000433 */
  339. 000003C4  7369                     moveq.l    D1, 0x69
  340. 000003C6  6E67                     bgt        +0x69 /* 0000042F */
  341. 000003C8  206E 6577                movea.l    A0, [A6 + 0x6577]
  342. 000003CC  2066                     movea.l    A0, -[A6]
  343. 000003CE  696C                     bvs        +0x6E /* 0000043C */
  344. 000003D0  6500 0C77                bcs        +0xC79 /* 00001049 */
  345. 000003D4  7269                     moveq.l    D1, 0x69
  346. 000003D6  7469                     moveq.l    D2, 0x69
  347. 000003D8  6E67                     bgt        +0x69 /* 00000441 */
  348. 000003DA  2066                     movea.l    A0, -[A6]
  349. 000003DC  696C                     bvs        +0x6E /* 0000044A */
  350. 000003DE  6500 0C72                bcs        +0xC74 /* 00001052 */
  351. 000003E2  6561                     bcs        +0x63 /* 00000445 */
  352. 000003E4  6469                     bcc        +0x6B /* 0000044F */
  353. 000003E6  6E67                     bgt        +0x69 /* 0000044F */
  354. 000003E8  2066                     movea.l    A0, -[A6]
  355. 000003EA  696C                     bvs        +0x6E /* 00000458 */
  356. 000003EC  6500 106F                bcs        +0x1071 /* 0000145D */
  357. 000003F0  7065                     moveq.l    D0, 0x65
  358. 000003F2  6E69                     bgt        +0x6B /* 0000045D */
  359. 000003F4  6E67                     bgt        +0x69 /* 0000045D */
  360. 000003F6  206E 6577                movea.l    A0, [A6 + 0x6577]
  361. 000003FA  2066                     movea.l    A0, -[A6]
  362. 000003FC  696C                     bvs        +0x6E /* 0000046A */
  363. 000003FE  6500 1573                bcs        +0x1575 /* 00001973 */
  364. 00000402  6574                     bcs        +0x76 /* 00000478 */
  365. 00000404  7469                     moveq.l    D2, 0x69
  366. 00000406  6E67                     bgt        +0x69 /* 0000046F */
  367. 00000408  206E 6577                movea.l    A0, [A6 + 0x6577]
  368. 0000040C  2066                     movea.l    A0, -[A6]
  369. 0000040E  696C                     bvs        +0x6E /* 0000047C */
  370. 00000410  6520                     bcs        +0x22 /* 00000432 */
  371. 00000412  696E                     bvs        +0x70 /* 00000482 */
  372. 00000414  666F                     bne        +0x71 /* 00000485 */
  373. 00000416  1563 7265                move.b     [A2 + 0x7265], -[A3]
  374. 0000041A  6174                     bsr        +0x76 /* 00000490 */
  375. 0000041C  696E                     bvs        +0x70 /* 0000048C */
  376. 0000041E  6720                     beq        +0x22 /* 00000440 */
  377. 00000420  7468                     moveq.l    D2, 0x68
  378. 00000422  6520                     bcs        +0x22 /* 00000444 */
  379. 00000424  6E65                     bgt        +0x67 /* 0000048B */
  380. 00000426  7720                     moveq.l    D3, 0x20
  381. 00000428  6669                     bne        +0x6B /* 00000493 */
  382. label0000042A:
  383. 0000042A  6C65                     bge        +0x67 /* 00000491 */
  384. 0000042C  1167 6574                move.b     [A0 + 0x6574], -[A7]
  385. 00000430  7469                     moveq.l    D2, 0x69
  386. label00000432:
  387. 00000432  6E67                     bgt        +0x69 /* 0000049B */
  388. 00000434  2066                     movea.l    A0, -[A6]
  389. 00000436  696C                     bvs        +0x6E /* 000004A4 */
  390. 00000438  6520                     bcs        +0x22 /* 0000045A */
  391. 0000043A  696E                     bvs        +0x70 /* 000004AA */
  392. label0000043C:
  393. 0000043C  666F                     bne        +0x71 /* 000004AD */
  394. 0000043E  1661                     movea.b    A3, -[A1]
  395. label00000440:
  396. 00000440  6C6C                     bge        +0x6E /* 000004AE */
  397. 00000442  6F63                     ble        +0x65 /* 000004A7 */
  398. label00000444:
  399. 00000444  6174                     bsr        +0x76 /* 000004BA */
  400. 00000446  696E                     bvs        +0x70 /* 000004B6 */
  401. 00000448  6720                     beq        +0x22 /* 0000046A */
  402. label0000044A:
  403. 0000044A  636F                     bls        +0x71 /* 000004BB */
  404. 0000044C  7079                     moveq.l    D0, 0x79
  405. 0000044E  2062                     movea.l    A0, -[A2]
  406. 00000450  7566                     moveq.l    D2, 0x66
  407. 00000452  6665                     bne        +0x67 /* 000004B9 */
  408. 00000454  7200                     moveq.l    D1, 0x00
  409. 00000456  0647 6574                addi.w     D7, 0x6574 /* 'et' */
  410. // begin alternate branch 00000458-0000045A
  411. label00000458:
  412. 00000458  6574                     bcs        +0x76 /* 000004CE */
  413. // end alternate branch 00000458-0000045A
  414. label00000458: // (misaligned)
  415. label0000045A:
  416. 0000045A  454F                     chk.w      D2, A7
  417. 0000045C  4600                     not.b      D0
  418. 0000045E  064F 7065                addi.w     A7, 0x7065 /* 'pe' */
  419. 00000462  6E52                     bgt        +0x54 /* 000004B6 */
  420. 00000464  4600                     not.b      D0
  421. 00000466  2466                     movea.l    A2, -[A6]
  422. 00000468  6169                     bsr        +0x6B /* 000004D3 */
  423. label0000046A:
  424. 0000046A  6C65                     bge        +0x67 /* 000004D1 */
  425. 0000046C  6420                     bcc        +0x22 /* 0000048E */
  426. 0000046E  746F                     moveq.l    D2, 0x6F
  427. 00000470  2066                     movea.l    A0, -[A6]
  428. 00000472  696E                     bvs        +0x70 /* 000004E2 */
  429. 00000474  6420                     bcc        +0x22 /* 00000496 */
  430. 00000476  7468                     moveq.l    D2, 0x68
  431. label00000478:
  432. 00000478  6520                     bcs        +0x22 /* 0000049A */
  433. 0000047A  4578 7465                chk.w      D2, [0x00007465]
  434. // begin alternate branch 0000047C-0000047E
  435. label0000047C:
  436. 0000047C  7465                     moveq.l    D2, 0x65
  437. // end alternate branch 0000047C-0000047E
  438. label0000047C: // (misaligned)
  439. 0000047E  6E73                     bgt        +0x75 /* 000004F3 */
  440. 00000480  696F                     bvs        +0x71 /* 000004F1 */
  441. label00000482:
  442. 00000482  6E73                     bgt        +0x75 /* 000004F7 */
  443. 00000484  2066                     movea.l    A0, -[A6]
  444. 00000486  6F6C                     ble        +0x6E /* 000004F4 */
  445. 00000488  6465                     bcc        +0x67 /* 000004EF */
  446. 0000048A  7200                     moveq.l    D1, 0x00
  447. label0000048C:
  448. 0000048C  0B50                     bchg       [A0], D5
  449. label0000048E:
  450. 0000048E  4247                     clr.w      D7
  451. fn00000490:
  452. 00000490  6574                     bcs        +0x76 /* 00000506 */
  453. 00000492  5744                     subq.w     D4, 3
  454. 00000494  496E 666F                chk.w      D4, [A6 + 0x666F]
  455. // begin alternate branch 00000496-00000498
  456. label00000496:
  457. 00000496  666F                     bne        +0x71 /* 00000507 */
  458. // end alternate branch 00000496-00000498
  459. label00000496: // (misaligned)
  460. fn00000498:
  461. 00000498  4E56 0000                link       A6, 0
  462. // begin alternate branch 0000049A-0000049E
  463. label0000049A:
  464. 0000049A  0000 2F0C                ori.b      D0, 0xC
  465. // end alternate branch 0000049A-0000049E
  466. label0000049A: // (misaligned)
  467. 0000049C  2F0C                     move.l     -[A7], A4
  468. 0000049E  286E 0010                movea.l    A4, [A6 + 0x10]
  469. 000004A2  296E 000C 0050           move.l     [A4 + 0x50], [A6 + 0xC]
  470. // begin alternate branch 000004A4-000004A8
  471. label000004A4:
  472. 000004A4  000C 0050                ori.b      A4, 0x50 /* 'P' */
  473. // end alternate branch 000004A4-000004A8
  474. label000004A4: // (misaligned)
  475. 000004A8  296E 0008 0054           move.l     [A4 + 0x54], [A6 + 0x8]
  476. // begin alternate branch 000004AA-000004AE
  477. label000004AA:
  478. 000004AA  0008 0054                ori.b      A0, 0x54 /* 'T' */
  479. // end alternate branch 000004AA-000004AE
  480. label000004AA: // (misaligned)
  481. label000004AE:
  482. 000004AE  397C 0006 004C           move.w     [A4 + 0x4C], 0x6
  483. 000004B4  2F2C 0048                move.l     -[A7], [A4 + 0x48]
  484. // begin alternate branch 000004B6-000004BA
  485. label000004B6:
  486. 000004B6  0048 205F                ori.w      A0, 0x205F /* ' _' */
  487. // end alternate branch 000004B6-000004BA
  488. label000004B6: // (misaligned)
  489. 000004B8  205F                     movea.l    A0, [A7]+
  490. fn000004BA:
  491. 000004BA  4E90                     jsr        [A0]
  492. 000004BC  285F                     movea.l    A4, [A7]+
  493. 000004BE  4E5E                     unlink     A6
  494. 000004C0  205F                     movea.l    A0, [A7]+
  495. 000004C2  DEFC 000C                add.w      A7, 0xC
  496. 000004C6  4ED0                     jmp        [A0]
  497. fn000004C8:
  498. 000004C8  4E56 0000                link       A6, 0
  499. 000004CC  2F0C                     move.l     -[A7], A4
  500. label000004CE:
  501. 000004CE  286E 0010                movea.l    A4, [A6 + 0x10]
  502. 000004D2  296E 000C 0050           move.l     [A4 + 0x50], [A6 + 0xC]
  503. 000004D8  296E 0008 0054           move.l     [A4 + 0x54], [A6 + 0x8]
  504. 000004DE  397C 000E 004C           move.w     [A4 + 0x4C], 0xE
  505. // begin alternate branch 000004E2-000004EA
  506. label000004E2:
  507. 000004E2  004C 2F2C                ori.w      A4, 0x2F2C /* '/,' */
  508. 000004E6  0048 205F                ori.w      A0, 0x205F /* ' _' */
  509. // end alternate branch 000004E2-000004EA
  510. label000004E2: // (misaligned)
  511. 000004E4  2F2C 0048                move.l     -[A7], [A4 + 0x48]
  512. 000004E8  205F                     movea.l    A0, [A7]+
  513. 000004EA  4E90                     jsr        [A0]
  514. 000004EC  285F                     movea.l    A4, [A7]+
  515. 000004EE  4E5E                     unlink     A6
  516. 000004F0  205F                     movea.l    A0, [A7]+
  517. 000004F2  DEFC 000C                add.w      A7, 0xC
  518. // begin alternate branch 000004F4-000004F8
  519. label000004F4:
  520. 000004F4  000C 4ED0                ori.b      A4, 0xD0
  521. // end alternate branch 000004F4-000004F8
  522. label000004F4: // (misaligned)
  523. 000004F6  4ED0                     jmp        [A0]
  524. fn000004F8:
  525. 000004F8  4E56 FF00                link       A6, -0x0100
  526. 000004FC  2F0C                     move.l     -[A7], A4
  527. 000004FE  206E 0008                movea.l    A0, [A6 + 0x8]
  528. 00000502  43EE FF00                lea.l      A1, [A6 - 0x100]
  529. label00000506:
  530. 00000506  703F                     moveq.l    D0, 0x3F
  531. label00000508:
  532. 00000508  22D8                     move.l     [A1]+, [A0]+
  533. 0000050A  51C8 FFFC                dbf        D0, -0x6 /* 00000508 */
  534. 0000050E  286E 000C                movea.l    A4, [A6 + 0xC]
  535. 00000512  41EE FF00                lea.l      A0, [A6 - 0x100]
  536. 00000516  2948 0050                move.l     [A4 + 0x50], A0
  537. 0000051A  397C 0007 004C           move.w     [A4 + 0x4C], 0x7
  538. 00000520  2F2C 0048                move.l     -[A7], [A4 + 0x48]
  539. 00000524  205F                     movea.l    A0, [A7]+
  540. 00000526  4E90                     jsr        [A0]
  541. 00000528  2D6C 0070 0010           move.l     [A6 + 0x10], [A4 + 0x70]
  542. 0000052E  285F                     movea.l    A4, [A7]+
  543. 00000530  4E5E                     unlink     A6
  544. 00000532  205F                     movea.l    A0, [A7]+
  545. 00000534  504F                     addq.w     A7, 8
  546. 00000536  4ED0                     jmp        [A0]
  547. fn00000538:
  548. 00000538  225F                     movea.l    A1, [A7]+
  549. 0000053A  201F                     move.l     D0, [A7]+
  550. 0000053C  A122                     syscall    NewHandle, flags=1
  551. 0000053E  2E88                     move.l     [A7], A0
  552. 00000540  4ED1                     jmp        [A1]
  553. fn00000542:
  554. 00000542  4E56 FFCE                link       A6, -0x0032
  555. 00000546  204F                     movea.l    A0, A7
  556. 00000548  316E 0008 0018           move.w     [A0 + 0x18], [A6 + 0x8]
  557. 0000054E  A001                     syscall    Close
  558. 00000550  3D40 000A                move.w     [A6 + 0xA], D0
  559. 00000554  4E5E                     unlink     A6
  560. 00000556  205F                     movea.l    A0, [A7]+
  561. 00000558  548F                     addq.l     A7, 2
  562. 0000055A  4ED0                     jmp        [A0]
  563. fn0000055C:
  564. 0000055C  51C1                     sf         D1
  565. 0000055E  6002                     bra        +0x4 /* 00000562 */
  566. fn00000560:
  567. 00000560  50C1                     st         D1
  568. label00000562:
  569. 00000562  4E56 FFCE                link       A6, -0x0032
  570. 00000566  204F                     movea.l    A0, A7
  571. 00000568  216E 0008 0020           move.l     [A0 + 0x20], [A6 + 0x8]
  572. 0000056E  316E 0010 0018           move.w     [A0 + 0x18], [A6 + 0x10]
  573. 00000574  226E 000C                movea.l    A1, [A6 + 0xC]
  574. 00000578  2151 0024                move.l     [A0 + 0x24], [A1]
  575. 0000057C  4268 002C                clr.w      [A0 + 0x2C]
  576. 00000580  42A8 002E                clr.l      [A0 + 0x2E]
  577. 00000584  4A01                     tst.b      D1
  578. 00000586  6604                     bne        +0x6 /* 0000058C */
  579. 00000588  A002                     syscall    Read
  580. 0000058A  6002                     bra        +0x4 /* 0000058E */
  581. label0000058C:
  582. 0000058C  A003                     syscall    Write
  583. label0000058E:
  584. 0000058E  3D40 0012                move.w     [A6 + 0x12], D0
  585. 00000592  226E 000C                movea.l    A1, [A6 + 0xC]
  586. 00000596  22A8 0028                move.l     [A1], [A0 + 0x28]
  587. 0000059A  4E5E                     unlink     A6
  588. 0000059C  225F                     movea.l    A1, [A7]+
  589. 0000059E  4FEF 000A                lea.l      A7, [A7 + 0xA]
  590. 000005A2  4ED1                     jmp        [A1]
  591. fn000005A4:
  592. 000005A4  4E56 FFB0                link       A6, -0x0050
  593. 000005A8  204F                     movea.l    A0, A7
  594. 000005AA  216E 000E 0012           move.l     [A0 + 0x12], [A6 + 0xE]
  595. 000005B0  316E 000C 0016           move.w     [A0 + 0x16], [A6 + 0xC]
  596. 000005B6  4228 001A                clr.b      [A0 + 0x1A]
  597. 000005BA  4268 001C                clr.w      [A0 + 0x1C]
  598. 000005BE  A00C                     syscall    GetFileInfo/PBHGetFInfo/HGetFileInfo
  599. 000005C0  3D40 0012                move.w     [A6 + 0x12], D0
  600. 000005C4  41E8 0020                lea.l      A0, [A0 + 0x20]
  601. 000005C8  226E 0008                movea.l    A1, [A6 + 0x8]
  602. 000005CC  7010                     moveq.l    D0, 0x10
  603. 000005CE  A02E                     syscall    BlockMove/BlockMoveData
  604. 000005D0  4E5E                     unlink     A6
  605. 000005D2  225F                     movea.l    A1, [A7]+
  606. 000005D4  4FEF 000A                lea.l      A7, [A7 + 0xA]
  607. 000005D8  4ED1                     jmp        [A1]
  608. fn000005DA:
  609. 000005DA  4E56 FFCE                link       A6, -0x0032
  610. 000005DE  204F                     movea.l    A0, A7
  611. 000005E0  216E 000E 0012           move.l     [A0 + 0x12], [A6 + 0xE]
  612. 000005E6  316E 000C 0016           move.w     [A0 + 0x16], [A6 + 0xC]
  613. 000005EC  4228 001A                clr.b      [A0 + 0x1A]
  614. 000005F0  4228 001B                clr.b      [A0 + 0x1B]
  615. 000005F4  42A8 001C                clr.l      [A0 + 0x1C]
  616. 000005F8  A00A                     syscall    OpenRF/PBHOpenRF/HOpenRF
  617. 000005FA  3D40 0012                move.w     [A6 + 0x12], D0
  618. 000005FE  226E 0008                movea.l    A1, [A6 + 0x8]
  619. 00000602  32A8 0018                move.w     [A1], [A0 + 0x18]
  620. 00000606  4E5E                     unlink     A6
  621. 00000608  225F                     movea.l    A1, [A7]+
  622. 0000060A  4FEF 000A                lea.l      A7, [A7 + 0xA]
  623. 0000060E  4ED1                     jmp        [A1]
  624. fn00000610:
  625. 00000610  4E56 FFCE                link       A6, -0x0032
  626. 00000614  204F                     movea.l    A0, A7
  627. 00000616  316E 000C 0018           move.w     [A0 + 0x18], [A6 + 0xC]
  628. 0000061C  A011                     syscall    GetEOF
  629. 0000061E  3D40 000E                move.w     [A6 + 0xE], D0
  630. 00000622  226E 0008                movea.l    A1, [A6 + 0x8]
  631. 00000626  22A8 001C                move.l     [A1], [A0 + 0x1C]
  632. 0000062A  4E5E                     unlink     A6
  633. 0000062C  225F                     movea.l    A1, [A7]+
  634. 0000062E  5C8F                     addq.l     A7, 6
  635. 00000630  4ED1                     jmp        [A1]
  636. fn00000632:
  637. 00000632  225F                     movea.l    A1, [A7]+
  638. 00000634  101F                     move.b     D0, [A7]+
  639. 00000636  205F                     movea.l    A0, [A7]+
  640. 00000638  6606                     bne        +0x8 /* 00000640 */
  641. 0000063A  7007                     moveq.l    D0, 0x07
  642. 0000063C  A260                     syscall    FSDispatch/HFSDispatch, flags=2
  643. 0000063E  6004                     bra        +0x6 /* 00000644 */
  644. label00000640:
  645. 00000640  7007                     moveq.l    D0, 0x07
  646. 00000642  A660                     syscall    FSDispatch/HFSDispatch, flags=6
  647. label00000644:
  648. 00000644  3E80                     move.w     [A7], D0
  649. 00000646  4ED1                     jmp        [A1]
  650. fn00000648:
  651. 00000648  225F                     movea.l    A1, [A7]+
  652. 0000064A  101F                     move.b     D0, [A7]+
  653. 0000064C  205F                     movea.l    A0, [A7]+
  654. 0000064E  6604                     bne        +0x6 /* 00000654 */
  655. 00000650  A20A                     syscall    OpenRF/PBHOpenRF/HOpenRF, flags=2
  656. 00000652  6002                     bra        +0x4 /* 00000656 */
  657. label00000654:
  658. 00000654  A60A                     syscall    OpenRF/PBHOpenRF/HOpenRF, flags=6
  659. label00000656:
  660. 00000656  3E80                     move.w     [A7], D0
  661. 00000658  4ED1                     jmp        [A1]
  662. fn0000065A:
  663. 0000065A  225F                     movea.l    A1, [A7]+
  664. 0000065C  101F                     move.b     D0, [A7]+
  665. 0000065E  205F                     movea.l    A0, [A7]+
  666. 00000660  6604                     bne        +0x6 /* 00000666 */
  667. 00000662  A208                     syscall    Create/PBHCreate/HCreate, flags=2
  668. 00000664  6002                     bra        +0x4 /* 00000668 */
  669. label00000666:
  670. 00000666  A608                     syscall    Create/PBHCreate/HCreate, flags=6
  671. label00000668:
  672. 00000668  3E80                     move.w     [A7], D0
  673. 0000066A  4ED1                     jmp        [A1]
  674. fn0000066C:
  675. 0000066C  225F                     movea.l    A1, [A7]+
  676. 0000066E  101F                     move.b     D0, [A7]+
  677. 00000670  205F                     movea.l    A0, [A7]+
  678. 00000672  6604                     bne        +0x6 /* 00000678 */
  679. 00000674  A20C                     syscall    GetFileInfo/PBHGetFInfo/HGetFileInfo, flags=2
  680. 00000676  6002                     bra        +0x4 /* 0000067A */
  681. label00000678:
  682. 00000678  A60C                     syscall    GetFileInfo/PBHGetFInfo/HGetFileInfo, flags=6
  683. label0000067A:
  684. 0000067A  3E80                     move.w     [A7], D0
  685. 0000067C  4ED1                     jmp        [A1]
  686. fn0000067E:
  687. 0000067E  225F                     movea.l    A1, [A7]+
  688. 00000680  101F                     move.b     D0, [A7]+
  689. 00000682  205F                     movea.l    A0, [A7]+
  690. 00000684  6604                     bne        +0x6 /* 0000068A */
  691. 00000686  A20D                     syscall    SetFileInfo/PBHSetFInfo/HSetFileInfo, flags=2
  692. 00000688  6002                     bra        +0x4 /* 0000068C */
  693. label0000068A:
  694. 0000068A  A60D                     syscall    SetFileInfo/PBHSetFInfo/HSetFileInfo, flags=6
  695. label0000068C:
  696. 0000068C  3E80                     move.w     [A7], D0
  697. 0000068E  4ED1                     jmp        [A1]
  698. fn00000690:
  699. 00000690  4E56 FF86                link       A6, -0x007A
  700. 00000694  2F07                     move.l     -[A7], D7
  701. 00000696  3D6E 0016 FF9C           move.w     [A6 - 0x64], [A6 + 0x16]
  702. 0000069C  2D6E 0012 FFB6           move.l     [A6 - 0x4A], [A6 + 0x12]
  703. 000006A2  2D6E 000E FF98           move.l     [A6 - 0x68], [A6 + 0xE]
  704. 000006A8  422E FFA0                clr.b      [A6 - 0x60]
  705. 000006AC  1D6E 000C FFA1           move.b     [A6 - 0x5F], [A6 + 0xC]
  706. 000006B2  7000                     moveq.l    D0, 0x00
  707. 000006B4  2D40 FFA2                move.l     [A6 - 0x5E], D0
  708. 000006B8  558F                     subq.l     A7, 2
  709. 000006BA  486E FF86                pea.l      [A6 - 0x7A]
  710. 000006BE  7000                     moveq.l    D0, 0x00
  711. 000006C0  1F00                     move.b     -[A7], D0
  712. 000006C2  4EBA FF84                jsr        [PC - 0x7C /* 00000648 */]
  713. 000006C6  3E1F                     move.w     D7, [A7]+
  714. 000006C8  206E 0008                movea.l    A0, [A6 + 0x8]
  715. 000006CC  30AE FF9E                move.w     [A0], [A6 - 0x62]
  716. 000006D0  3D47 0018                move.w     [A6 + 0x18], D7
  717. 000006D4  2E2E FF82                move.l     D7, [A6 - 0x7E]
  718. 000006D8  4E5E                     unlink     A6
  719. 000006DA  205F                     movea.l    A0, [A7]+
  720. 000006DC  4FEF 0010                lea.l      A7, [A7 + 0x10]
  721. 000006E0  4ED0                     jmp        [A0]
  722. 000006E2  8748 4F50                pack       -[A3], -[A0], 0x4F50
  723. 000006E6  454E                     chk.w      D2, A6
  724. 000006E8  5246                     addq.w     D6, 1
  725. 000006EA  0000 4E56                ori.b      D0, 0x56 /* 'V' */
  726. // begin alternate branch 000006EC-000006F0
  727. fn000006EC:
  728. 000006EC  4E56 FF86                link       A6, -0x007A
  729. // end alternate branch 000006EC-000006F0
  730. fn000006EC: // (misaligned)
  731. 000006EE  FF86                     .invalid   <<F/6/7>>
  732. 000006F0  48E7 0300                movem.l    -[A7], D6,D7
  733. 000006F4  2C2E 0014                move.l     D6, [A6 + 0x14]
  734. 000006F8  3D6E 0018 FF9C           move.w     [A6 - 0x64], [A6 + 0x18]
  735. 000006FE  2D46 FFB6                move.l     [A6 - 0x4A], D6
  736. 00000702  2D6E 0010 FF98           move.l     [A6 - 0x68], [A6 + 0x10]
  737. 00000708  422E FFA0                clr.b      [A6 - 0x60]
  738. 0000070C  558F                     subq.l     A7, 2
  739. 0000070E  486E FF86                pea.l      [A6 - 0x7A]
  740. 00000712  7000                     moveq.l    D0, 0x00
  741. 00000714  1F00                     move.b     -[A7], D0
  742. 00000716  4EBA FF42                jsr        [PC - 0xBE /* 0000065A */]
  743. 0000071A  3E1F                     move.w     D7, [A7]+
  744. 0000071C  6636                     bne        +0x38 /* 00000754 */
  745. 0000071E  426E FFA2                clr.w      [A6 - 0x5E]
  746. 00000722  558F                     subq.l     A7, 2
  747. 00000724  486E FF86                pea.l      [A6 - 0x7A]
  748. 00000728  7000                     moveq.l    D0, 0x00
  749. 0000072A  1F00                     move.b     -[A7], D0
  750. 0000072C  4EBA FF3E                jsr        [PC - 0xC2 /* 0000066C */]
  751. 00000730  3E1F                     move.w     D7, [A7]+
  752. 00000732  6620                     bne        +0x22 /* 00000754 */
  753. 00000734  2D6E 000C FFAA           move.l     [A6 - 0x56], [A6 + 0xC]
  754. 0000073A  2D6E 0008 FFA6           move.l     [A6 - 0x5A], [A6 + 0x8]
  755. 00000740  2D46 FFB6                move.l     [A6 - 0x4A], D6
  756. 00000744  558F                     subq.l     A7, 2
  757. 00000746  486E FF86                pea.l      [A6 - 0x7A]
  758. 0000074A  7000                     moveq.l    D0, 0x00
  759. 0000074C  1F00                     move.b     -[A7], D0
  760. 0000074E  4EBA FF2E                jsr        [PC - 0xD2 /* 0000067E */]
  761. 00000752  3E1F                     move.w     D7, [A7]+
  762. label00000754:
  763. 00000754  3D47 001A                move.w     [A6 + 0x1A], D7
  764. 00000758  4CEE 00C0 FF7E           movem.l    D6,D7, [A6 - 0x82]
  765. 0000075E  4E5E                     unlink     A6
  766. 00000760  205F                     movea.l    A0, [A7]+
  767. 00000762  4FEF 0012                lea.l      A7, [A7 + 0x12]
  768. 00000766  4ED0                     jmp        [A0]
  769. 00000768  8748 4352                pack       -[A3], -[A0], 0x4352
  770. 0000076C  4541                     chk.w      D2, D1
  771. 0000076E  5445                     addq.w     D5, 2
  772. 00000770  0000 4E56                ori.b      D0, 0x56 /* 'V' */
  773. // begin alternate branch 00000772-00000776
  774. fn00000772:
  775. 00000772  4E56 FF86                link       A6, -0x007A
  776. // end alternate branch 00000772-00000776
  777. fn00000772: // (misaligned)
  778. 00000774  FF86                     .invalid   <<F/6/7>>
  779. 00000776  48E7 0300                movem.l    -[A7], D6,D7
  780. 0000077A  2C2E 0010                move.l     D6, [A6 + 0x10]
  781. 0000077E  3D6E 0014 FF9C           move.w     [A6 - 0x64], [A6 + 0x14]
  782. 00000784  2D46 FFB6                move.l     [A6 - 0x4A], D6
  783. 00000788  2D6E 000C FF98           move.l     [A6 - 0x68], [A6 + 0xC]
  784. 0000078E  422E FFA0                clr.b      [A6 - 0x60]
  785. 00000792  426E FFA2                clr.w      [A6 - 0x5E]
  786. 00000796  558F                     subq.l     A7, 2
  787. 00000798  486E FF86                pea.l      [A6 - 0x7A]
  788. 0000079C  7000                     moveq.l    D0, 0x00
  789. 0000079E  1F00                     move.b     -[A7], D0
  790. 000007A0  4EBA FECA                jsr        [PC - 0x136 /* 0000066C */]
  791. 000007A4  3E1F                     move.w     D7, [A7]+
  792. 000007A6  6624                     bne        +0x26 /* 000007CC */
  793. 000007A8  206E 0008                movea.l    A0, [A6 + 0x8]
  794. 000007AC  43EE FFA6                lea.l      A1, [A6 - 0x5A]
  795. 000007B0  22D8                     move.l     [A1]+, [A0]+
  796. 000007B2  22D8                     move.l     [A1]+, [A0]+
  797. 000007B4  22D8                     move.l     [A1]+, [A0]+
  798. 000007B6  22D8                     move.l     [A1]+, [A0]+
  799. 000007B8  2D46 FFB6                move.l     [A6 - 0x4A], D6
  800. 000007BC  558F                     subq.l     A7, 2
  801. 000007BE  486E FF86                pea.l      [A6 - 0x7A]
  802. 000007C2  7000                     moveq.l    D0, 0x00
  803. 000007C4  1F00                     move.b     -[A7], D0
  804. 000007C6  4EBA FEB6                jsr        [PC - 0x14A /* 0000067E */]
  805. 000007CA  3E1F                     move.w     D7, [A7]+
  806. label000007CC:
  807. 000007CC  3D47 0016                move.w     [A6 + 0x16], D7
  808. 000007D0  4CEE 00C0 FF7E           movem.l    D6,D7, [A6 - 0x82]
  809. 000007D6  4E5E                     unlink     A6
  810. 000007D8  205F                     movea.l    A0, [A7]+
  811. 000007DA  4FEF 000E                lea.l      A7, [A7 + 0xE]
  812. 000007DE  4ED0                     jmp        [A0]
  813. 000007E0  8948 5345                pack       -[A4], -[A0], 0x5345
  814. 000007E4  5446                     addq.w     D6, 2
  815. 000007E6  494E                     chk.w      D4, A6
  816. 000007E8  464F                     not.w      A7
  817. 000007EA  0000 4E56                ori.b      D0, 0x56 /* 'V' */
  818. // begin alternate branch 000007EC-000007F0
  819. fn000007EC:
  820. 000007EC  4E56 FF7C                link       A6, -0x0084
  821. // end alternate branch 000007EC-000007F0
  822. fn000007EC: // (misaligned)
  823. 000007EE  FF7C                     .extension 0xF7C <<F/4-5/7>> // unimplemented
  824. 000007F0  48E7 0F18                movem.l    -[A7], D4,D5,D6,D7,A3,A4
  825. 000007F4  266E 0008                movea.l    A3, [A6 + 0x8]
  826. 000007F8  286E 000C                movea.l    A4, [A6 + 0xC]
  827. 000007FC  3A2E 0016                move.w     D5, [A6 + 0x16]
  828. 00000800  2C2E 0012                move.l     D6, [A6 + 0x12]
  829. 00000804  4204                     clr.b      D4
  830. 00000806  558F                     subq.l     A7, 2
  831. 00000808  2F3C 666F 6C64           move.l     -[A7], 0x666F6C64 /* 'fold' */
  832. 0000080E  486E FF7C                pea.l      [A6 - 0x84]
  833. 00000812  4EBA 029A                jsr        [PC + 0x29A /* 00000AAE */]
  834. 00000816  3E1F                     move.w     D7, [A7]+
  835. 00000818  660C                     bne        +0xE /* 00000826 */
  836. 0000081A  202E FF7C                move.l     D0, [A6 - 0x84]
  837. 0000081E  0800 0000                btst.b     D0, 0x0
  838. 00000822  6702                     beq        +0x4 /* 00000826 */
  839. 00000824  7801                     moveq.l    D4, 0x01
  840. label00000826:
  841. 00000826  4A04                     tst.b      D4
  842. 00000828  671A                     beq        +0x1C /* 00000844 */
  843. 0000082A  558F                     subq.l     A7, 2
  844. 0000082C  3F05                     move.w     -[A7], D5
  845. 0000082E  2F06                     move.l     -[A7], D6
  846. 00000830  1F2E 0010                move.b     -[A7], [A6 + 0x10]
  847. 00000834  2F0C                     move.l     -[A7], A4
  848. 00000836  2F0B                     move.l     -[A7], A3
  849. 00000838  7000                     moveq.l    D0, 0x00
  850. 0000083A  A823                     syscall    AliasDispatch
  851. 0000083C  3D5F 0018                move.w     [A6 + 0x18], [A7]+
  852. 00000840  6000 00E4                bra        +0xE6 /* 00000926 */
  853. label00000844:
  854. 00000844  0C86 6D61 6373           cmpi.l     D6, 0x6D616373 /* 'macs' */
  855. 0000084A  6742                     beq        +0x44 /* 0000088E */
  856. 0000084C  0C86 7465 6D70           cmpi.l     D6, 0x74656D70 /* 'temp' */
  857. 00000852  673A                     beq        +0x3C /* 0000088E */
  858. 00000854  0C86 7072 6566           cmpi.l     D6, 0x70726566 /* 'pref' */
  859. 0000085A  6732                     beq        +0x34 /* 0000088E */
  860. 0000085C  0C86 6578 746E           cmpi.l     D6, 0x6578746E /* 'extn' */
  861. 00000862  672A                     beq        +0x2C /* 0000088E */
  862. 00000864  0C86 6374 726C           cmpi.l     D6, 0x6374726C /* 'ctrl' */
  863. 0000086A  6722                     beq        +0x24 /* 0000088E */
  864. 0000086C  0C86 616D 6E75           cmpi.l     D6, 0x616D6E75 /* 'amnu' */
  865. 00000872  671A                     beq        +0x1C /* 0000088E */
  866. 00000874  0C86 7374 7274           cmpi.l     D6, 0x73747274 /* 'strt' */
  867. 0000087A  6712                     beq        +0x14 /* 0000088E */
  868. 0000087C  0C86 7072 6E74           cmpi.l     D6, 0x70726E74 /* 'prnt' */
  869. 00000882  670A                     beq        +0xC /* 0000088E */
  870. 00000884  3D7C FFCE 0018           move.w     [A6 + 0x18], 0xFFCE
  871. 0000088A  6000 009A                bra        +0x9C /* 00000926 */
  872. label0000088E:
  873. 0000088E  7000                     moveq.l    D0, 0x00
  874. 00000890  2D40 FF92                move.l     [A6 - 0x6E], D0
  875. 00000894  0C45 8000                cmpi.w     D5, 0x8000
  876. 00000898  6624                     bne        +0x26 /* 000008BE */
  877. 0000089A  3D78 0A58 FF98           move.w     [A6 - 0x68], [0x00000A58 /* SysMap */]
  878. 000008A0  426E FF9C                clr.w      [A6 - 0x64]
  879. 000008A4  7002                     moveq.l    D0, 0x02
  880. 000008A6  2D40 FFBA                move.l     [A6 - 0x46], D0
  881. 000008AA  41EE FF80                lea.l      A0, [A6 - 0x80]
  882. 000008AE  7008                     moveq.l    D0, 0x08
  883. 000008B0  A260                     syscall    FSDispatch/HFSDispatch, flags=2
  884. 000008B2  3E00                     move.w     D7, D0
  885. 000008B4  666C                     bne        +0x6E /* 00000922 */
  886. 000008B6  3D6E FFB4 FF96           move.w     [A6 - 0x6A], [A6 - 0x4C]
  887. 000008BC  6004                     bra        +0x6 /* 000008C2 */
  888. label000008BE:
  889. 000008BE  3D45 FF96                move.w     [A6 - 0x6A], D5
  890. label000008C2:
  891. 000008C2  7006                     moveq.l    D0, 0x06
  892. 000008C4  2D40 FFA4                move.l     [A6 - 0x5C], D0
  893. 000008C8  41EE FFFA                lea.l      A0, [A6 - 0x6]
  894. 000008CC  2D48 FFA0                move.l     [A6 - 0x60], A0
  895. 000008D0  41EE FF80                lea.l      A0, [A6 - 0x80]
  896. 000008D4  7030                     moveq.l    D0, 0x30
  897. 000008D6  A260                     syscall    FSDispatch/HFSDispatch, flags=2
  898. 000008D8  3E00                     move.w     D7, D0
  899. 000008DA  0C47 FFCE                cmpi.w     D7, 0xFFCE
  900. 000008DE  6710                     beq        +0x12 /* 000008F0 */
  901. 000008E0  4A47                     tst.w      D7
  902. 000008E2  6638                     bne        +0x3A /* 0000091C */
  903. 000008E4  203C 0002 0000           move.l     D0, 0x20000
  904. 000008EA  C0AE FFFC                and.l      D0, [A6 - 0x4]
  905. 000008EE  672C                     beq        +0x2E /* 0000091C */
  906. label000008F0:
  907. 000008F0  426E FF9C                clr.w      [A6 - 0x64]
  908. 000008F4  7000                     moveq.l    D0, 0x00
  909. 000008F6  2D40 FFDA                move.l     [A6 - 0x26], D0
  910. 000008FA  2D40 FFB0                move.l     [A6 - 0x50], D0
  911. 000008FE  41EE FF80                lea.l      A0, [A6 - 0x80]
  912. 00000902  A207                     syscall    GetVolInfo/PBHGetVInfo/HGetVInfo, flags=2
  913. 00000904  3E00                     move.w     D7, D0
  914. 00000906  661A                     bne        +0x1C /* 00000922 */
  915. 00000908  4AAE FFDA                tst.l      [A6 - 0x26]
  916. 0000090C  670A                     beq        +0xC /* 00000918 */
  917. 0000090E  38AE FF96                move.w     [A4], [A6 - 0x6A]
  918. 00000912  26AE FFDA                move.l     [A3], [A6 - 0x26]
  919. 00000916  600A                     bra        +0xC /* 00000922 */
  920. label00000918:
  921. 00000918  7ED5                     moveq.l    D7, 0xFFFFFFD5
  922. 0000091A  6006                     bra        +0x8 /* 00000922 */
  923. label0000091C:
  924. 0000091C  4A47                     tst.w      D7
  925. 0000091E  6602                     bne        +0x4 /* 00000922 */
  926. 00000920  7ED5                     moveq.l    D7, 0xFFFFFFD5
  927. label00000922:
  928. 00000922  3D47 0018                move.w     [A6 + 0x18], D7
  929. label00000926:
  930. 00000926  4CEE 18F0 FF64           movem.l    D4,D5,D6,D7,A3,A4, [A6 - 0x9C]
  931. 0000092C  4E5E                     unlink     A6
  932. 0000092E  205F                     movea.l    A0, [A7]+
  933. 00000930  4FEF 0010                lea.l      A7, [A7 + 0x10]
  934. 00000934  4ED0                     jmp        [A0]
  935. 00000936  8A46                     or.w       D5, D6
  936. 00000938  494E                     chk.w      D4, A6
  937. 0000093A  4446                     neg.w      D6
  938. 0000093C  4F4C                     chk.w      D7, A4
  939. 0000093E  4445                     neg.w      D5
  940. 00000940  5200                     addq.b     D0, 1
  941. 00000942  0000 4A78                ori.b      D0, 0x78 /* 'x' */
  942. // begin alternate branch 00000944-00000952
  943. fn00000944:
  944. 00000944  4A78 028E                tst.w      [0x0000028E /* ROM85 */]
  945. 00000948  6B22                     bmi        +0x24 /* 0000096C */
  946. 0000094A  303C 0090                move.w     D0, 0x90
  947. 0000094E  A346                     syscall    GetOSTrapAddress, flags=3
  948. 00000950  2248                     movea.l    A1, A0
  949. // end alternate branch 00000944-00000952
  950. fn00000944: // (misaligned)
  951. 00000946  028E 6B22 303C           andi.l     A6, 0x6B22303C /* 'k\"0<' */
  952. 0000094C  0090 A346 2248           ori.l      [A0], 0xA3462248
  953. 00000952  303C 009F                move.w     D0, 0x9F
  954. 00000956  A746                     syscall    GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
  955. 00000958  B3C8                     cmpa.l     A1, A0
  956. 0000095A  6710                     beq        +0x12 /* 0000096C */
  957. 0000095C  225F                     movea.l    A1, [A7]+
  958. 0000095E  205F                     movea.l    A0, [A7]+
  959. 00000960  301F                     move.w     D0, [A7]+
  960. 00000962  2F09                     move.l     -[A7], A1
  961. 00000964  A090                     syscall    SysEnvirons
  962. 00000966  3F40 0004                move.w     [A7 + 0x4], D0
  963. 0000096A  4E75                     rts
  964. label0000096C:
  965. 0000096C  206F 0004                movea.l    A0, [A7 + 0x4]
  966. 00000970  303C 0001                move.w     D0, 0x1
  967. 00000974  2248                     movea.l    A1, A0
  968. 00000976  6006                     bra        +0x8 /* 0000097E */
  969. 00000978  0313                     btst       [A3], D1
  970. 0000097A  0B02                     btst       D2, D5
  971. 0000097C  0100                     btst       D0, D0
  972. label0000097E:
  973. 0000097E  303C 0010                move.w     D0, 0x10
  974. 00000982  E240                     asr        D0.w, 1
  975. 00000984  5340                     subq.w     D0, 1
  976. label00000986:
  977. 00000986  4258                     clr.w      [A0]+
  978. 00000988  51C8 FFFC                dbf        D0, -0x6 /* 00000986 */
  979. 0000098C  32BC 0001                move.w     [A1], 0x1
  980. 00000990  2078 02AE                movea.l    A0, [0x000002AE /* ROMBase */]
  981. 00000994  337C FFFE 0002           move.w     [A1 + 0x2], 0xFFFE
  982. 0000099A  0C28 00FF 0009           cmpi.b     [A0 + 0x9], 0xFF
  983. 000009A0  6742                     beq        +0x44 /* 000009E4 */
  984. 000009A2  4A28 0008                tst.b      [A0 + 0x8]
  985. 000009A6  6E20                     bgt        +0x22 /* 000009C8 */
  986. 000009A8  337C FFFF 0002           move.w     [A1 + 0x2], 0xFFFF
  987. 000009AE  4A78 028E                tst.w      [0x0000028E /* ROM85 */]
  988. 000009B2  6B30                     bmi        +0x32 /* 000009E4 */
  989. 000009B4  337C 0001 0002           move.w     [A1 + 0x2], 0x1
  990. 000009BA  4A78 0B22                tst.w      [0x00000B22 /* HWCfgFlags */]
  991. 000009BE  6A24                     bpl        +0x26 /* 000009E4 */
  992. 000009C0  337C 0002 0002           move.w     [A1 + 0x2], 0x2
  993. 000009C6  601C                     bra        +0x1E /* 000009E4 */
  994. label000009C8:
  995. 000009C8  4269 0002                clr.w      [A1 + 0x2]
  996. 000009CC  0C28 0002 0008           cmpi.b     [A0 + 0x8], 0x2
  997. 000009D2  6E10                     bgt        +0x12 /* 000009E4 */
  998. 000009D4  6708                     beq        +0xA /* 000009DE */
  999. 000009D6  337C 0004 0002           move.w     [A1 + 0x2], 0x4
  1000. 000009DC  6006                     bra        +0x8 /* 000009E4 */
  1001. label000009DE:
  1002. 000009DE  337C 0003 0002           move.w     [A1 + 0x2], 0x3
  1003. label000009E4:
  1004. 000009E4  4269 0004                clr.w      [A1 + 0x4]
  1005. 000009E8  0C38 0002 012F           cmpi.b     [0x0000012F /* CPUFlag */], 0x2
  1006. 000009EE  6E0A                     bgt        +0xC /* 000009FA */
  1007. 000009F0  1038 012F                move.b     D0, [0x0000012F /* CPUFlag */]
  1008. 000009F4  5240                     addq.w     D0, 1
  1009. 000009F6  1340 0007                move.b     [A1 + 0x7], D0
  1010. label000009FA:
  1011. 000009FA  4A78 028E                tst.w      [0x0000028E /* ROM85 */]
  1012. 000009FE  6B0E                     bmi        +0x10 /* 00000A0E */
  1013. 00000A00  0838 0004 0B22           btst.b     [0x00000B22 /* HWCfgFlags */], 0x4
  1014. 00000A06  6706                     beq        +0x8 /* 00000A0E */
  1015. 00000A08  137C 0001 0008           move.b     [A1 + 0x8], 0x1
  1016. label00000A0E:
  1017. 00000A0E  0C78 3FFF 028E           cmpi.w     [0x0000028E /* ROM85 */], 0x3FFF
  1018. 00000A14  6206                     bhi        +0x8 /* 00000A1C */
  1019. 00000A16  137C 0001 0009           move.b     [A1 + 0x9], 0x1
  1020. label00000A1C:
  1021. 00000A1C  1038 021E                move.b     D0, [0x0000021E /* KbdType */]
  1022. 00000A20  41FA FF5B                lea.l      A0, [PC - 0xA5 /* 0000097D, value 0x303C00 '0<\0', cstring "" */]
  1023. 00000A24  323C 0004                move.w     D1, 0x4
  1024. label00000A28:
  1025. 00000A28  B020                     cmp.b      D0, -[A0]
  1026. 00000A2A  57C9 FFFC                dbeq       D1, -0x6 /* 00000A28 */
  1027. 00000A2E  5241                     addq.w     D1, 1
  1028. 00000A30  3341 000A                move.w     [A1 + 0xA], D1
  1029. 00000A34  4A38 0291                tst.b      [0x00000291 /* PortBUse */]
  1030. 00000A38  6B18                     bmi        +0x1A /* 00000A52 */
  1031. 00000A3A  1238 01FB                move.b     D1, [0x000001FB /* SPConfig */]
  1032. 00000A3E  0201 000F                andi.b     D1, 0xF
  1033. 00000A42  0C01 0001                cmpi.b     D1, 0x1
  1034. 00000A46  660A                     bne        +0xC /* 00000A52 */
  1035. 00000A48  2078 02DC                movea.l    A0, [0x000002DC /* ABusDCE */]
  1036. 00000A4C  1368 0007 000D           move.b     [A1 + 0xD], [A0 + 0x7]
  1037. label00000A52:
  1038. 00000A52  3378 0210 000E           move.w     [A1 + 0xE], [0x00000210 /* BootDrive */]
  1039. 00000A58  4A78 03F6                tst.w      [0x000003F6 /* FSFCBLen */]
  1040. 00000A5C  6D44                     blt        +0x46 /* 00000AA2 */
  1041. 00000A5E  4269 000E                clr.w      [A1 + 0xE]
  1042. 00000A62  323C 003C                move.w     D1, 0x3C /* '<' */
  1043. label00000A66:
  1044. 00000A66  4267                     clr.w      -[A7]
  1045. 00000A68  51C9 FFFC                dbf        D1, -0x6 /* 00000A66 */
  1046. 00000A6C  204F                     movea.l    A0, A7
  1047. 00000A6E  3178 0A58 0018           move.w     [A0 + 0x18], [0x00000A58 /* SysMap */]
  1048. 00000A74  7008                     moveq.l    D0, 0x08
  1049. 00000A76  A260                     syscall    FSDispatch/HFSDispatch, flags=2
  1050. 00000A78  6624                     bne        +0x26 /* 00000A9E */
  1051. 00000A7A  3168 0034 0016           move.w     [A0 + 0x16], [A0 + 0x34]
  1052. 00000A80  A207                     syscall    GetVolInfo/PBHGetVInfo/HGetVInfo, flags=2
  1053. 00000A82  661A                     bne        +0x1C /* 00000A9E */
  1054. 00000A84  2168 005A 0030           move.l     [A0 + 0x30], [A0 + 0x5A]
  1055. 00000A8A  217C 4552 494B 001C      move.l     [A0 + 0x1C], 0x4552494B /* 'ERIK' */
  1056. 00000A92  7001                     moveq.l    D0, 0x01
  1057. 00000A94  A260                     syscall    FSDispatch/HFSDispatch, flags=2
  1058. 00000A96  6606                     bne        +0x8 /* 00000A9E */
  1059. 00000A98  3368 0016 000E           move.w     [A1 + 0xE], [A0 + 0x16]
  1060. label00000A9E:
  1061. 00000A9E  4FEF 007A                lea.l      A7, [A7 + 0x7A]
  1062. label00000AA2:
  1063. 00000AA2  2049                     movea.l    A0, A1
  1064. 00000AA4  225F                     movea.l    A1, [A7]+
  1065. 00000AA6  5C4F                     addq.w     A7, 6
  1066. 00000AA8  3EBC EA84                move.w     [A7], 0xEA84
  1067. 00000AAC  4ED1                     jmp        [A1]
  1068. fn00000AAE:
  1069. 00000AAE  4E56 0000                link       A6, 0
  1070. 00000AB2  203C 0000 A89F           move.l     D0, 0xA89F
  1071. 00000AB8  A746                     syscall    GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
  1072. 00000ABA  2F08                     move.l     -[A7], A0
  1073. 00000ABC  203C 0000 A0AD           move.l     D0, 0xA0AD
  1074. 00000AC2  A346                     syscall    GetOSTrapAddress, flags=3
  1075. 00000AC4  B1DF                     cmpa.l     A0, [A7]+
  1076. 00000AC6  670E                     beq        +0x10 /* 00000AD6 */
  1077. 00000AC8  202E 000C                move.l     D0, [A6 + 0xC]
  1078. 00000ACC  A1AD                     syscall    Gestalt, flags=1
  1079. 00000ACE  226E 0008                movea.l    A1, [A6 + 0x8]
  1080. 00000AD2  2288                     move.l     [A1], A0
  1081. 00000AD4  6026                     bra        +0x28 /* 00000AFC */
  1082. label00000AD6:
  1083. 00000AD6  41FA 0036                lea.l      A0, [PC + 0x36 /* 00000B0E, value 0x76657273 'vers', cstring "vers" */]
  1084. 00000ADA  303C EA51                move.w     D0, 0xEA51
  1085. 00000ADE  222E 000C                move.l     D1, [A6 + 0xC]
  1086. label00000AE2:
  1087. 00000AE2  B298                     cmp.l      D1, [A0]+
  1088. 00000AE4  6706                     beq        +0x8 /* 00000AEC */
  1089. 00000AE6  4A98                     tst.l      [A0]+
  1090. 00000AE8  6712                     beq        +0x14 /* 00000AFC */
  1091. 00000AEA  60F6                     bra        -0x8 /* 00000AE2 */
  1092. label00000AEC:
  1093. 00000AEC  43FA 0020                lea.l      A1, [PC + 0x20 /* 00000B0E, value 0x76657273 'vers', cstring "vers" */]
  1094. 00000AF0  D3D0                     add.l      A1, [A0]
  1095. 00000AF2  4ED1                     jmp        [A1]
  1096. label00000AF4:
  1097. 00000AF4  226E 0008                movea.l    A1, [A6 + 0x8]
  1098. 00000AF8  2280                     move.l     [A1], D0
  1099. 00000AFA  4240                     clr.w      D0
  1100. label00000AFC:
  1101. 00000AFC  3D40 0010                move.w     [A6 + 0x10], D0
  1102. 00000B00  4E5E                     unlink     A6
  1103. 00000B02  205F                     movea.l    A0, [A7]+
  1104. 00000B04  508F                     addq.l     A7, 8
  1105. 00000B06  4ED0                     jmp        [A0]
  1106. label00000B08:
  1107. 00000B08  303C EA52                move.w     D0, 0xEA52
  1108. 00000B0C  60EE                     bra        -0x10 /* 00000AFC */
  1109. 00000B0E  7665                     moveq.l    D3, 0x65
  1110. 00000B10  7273                     moveq.l    D1, 0x73
  1111. 00000B12  0000 0060                ori.b      D0, 0x60 /* '`' */
  1112. 00000B16  6D61                     blt        +0x63 /* 00000B79 */
  1113. 00000B18  6368                     bls        +0x6A /* 00000B82 */
  1114. 00000B1A  0000 0064                ori.b      D0, 0x64 /* 'd' */
  1115. 00000B1E  7379                     moveq.l    D1, 0x79
  1116. 00000B20  7376                     moveq.l    D1, 0x76
  1117. 00000B22  0000 0088                ori.b      D0, 0x88
  1118. 00000B26  7072                     moveq.l    D0, 0x72
  1119. 00000B28  6F63                     ble        +0x65 /* 00000B8D */
  1120. 00000B2A  0000 0092                ori.b      D0, 0x92
  1121. 00000B2E  6670                     bne        +0x72 /* 00000BA0 */
  1122. 00000B30  7520                     moveq.l    D2, 0x20
  1123. 00000B32  0000 009E                ori.b      D0, 0x9E
  1124. 00000B36  7164                     moveq.l    D0, 0x64
  1125. 00000B38  2020                     move.l     D0, -[A0]
  1126. 00000B3A  0000 00E8                ori.b      D0, 0xE8
  1127. 00000B3E  6B62                     bmi        +0x64 /* 00000BA2 */
  1128. 00000B40  6420                     bcc        +0x22 /* 00000B62 */
  1129. 00000B42  0000 011A                ori.b      D0, 0x1A
  1130. 00000B46  6174                     bsr        +0x76 /* 00000BBC */
  1131. 00000B48  6C6B                     bge        +0x6D /* 00000BB5 */
  1132. 00000B4A  0000 0142                ori.b      D0, 0x42 /* 'B' */
  1133. 00000B4E  6D6D                     blt        +0x6F /* 00000BBD */
  1134. 00000B50  7520                     moveq.l    D2, 0x20
  1135. 00000B52  0000 0164                ori.b      D0, 0x64 /* 'd' */
  1136. 00000B56  7261                     moveq.l    D1, 0x61
  1137. 00000B58  6D20                     blt        +0x22 /* 00000B7A */
  1138. 00000B5A  0000 0188                ori.b      D0, 0x88
  1139. 00000B5E  6C72                     bge        +0x74 /* 00000BD2 */
  1140. 00000B60  616D                     bsr        +0x6F /* 00000BCF */
  1141. label00000B62:
  1142. 00000B62  0000 0188                ori.b      D0, 0x88
  1143. 00000B66  0000 0000                ori.b      D0, 0x0
  1144. 00000B6A  0000 0000                ori.b      D0, 0x0
  1145. 00000B6E  7001                     moveq.l    D0, 0x01
  1146. 00000B70  6082                     bra        -0x7C /* 00000AF4 */
  1147. 00000B72  2278 02AE                movea.l    A1, [0x000002AE /* ROMBase */]
  1148. 00000B76  7004                     moveq.l    D0, 0x04
  1149. 00000B78  0C69 0075 0008           cmpi.w     [A1 + 0x8], 0x75 /* 'u' */
  1150. // begin alternate branch 00000B7A-00000B88
  1151. label00000B7A:
  1152. 00000B7A  0075 0008 6712 0C69      ori.w      [[A5 + D6 * 8] + 0xC69], 0x8
  1153. label00000B82:
  1154. 00000B82  0276 0008 6604           andi.w     [A6 + D6.w * 8 + 0x4], 0x8
  1155. // end alternate branch 00000B7A-00000B88
  1156. label00000B7A: // (misaligned)
  1157. 00000B7E  6712                     beq        +0x14 /* 00000B92 */
  1158. 00000B80  0C69 0276 0008           cmpi.w     [A1 + 0x8], 0x276
  1159. label00000B82: // (misaligned)
  1160. 00000B86  6604                     bne        +0x6 /* 00000B8C */
  1161. 00000B88  5240                     addq.w     D0, 1
  1162. 00000B8A  6006                     bra        +0x8 /* 00000B92 */
  1163. label00000B8C:
  1164. 00000B8C  1038 0CB3                move.b     D0, [0x00000CB3 /* MMUFluff/MachineType */]
  1165. 00000B90  5C80                     addq.l     D0, 6
  1166. label00000B92:
  1167. 00000B92  6000 FF60                bra        -0x9E /* 00000AF4 */
  1168. 00000B96  7000                     moveq.l    D0, 0x00
  1169. 00000B98  3038 015A                move.w     D0, [0x0000015A /* SysVersion */]
  1170. 00000B9C  6000 FF56                bra        -0xA8 /* 00000AF4 */
  1171. label00000BA0:
  1172. 00000BA0  7000                     moveq.l    D0, 0x00
  1173. label00000BA2:
  1174. 00000BA2  1038 012F                move.b     D0, [0x0000012F /* CPUFlag */]
  1175. 00000BA6  5240                     addq.w     D0, 1
  1176. 00000BA8  6000 FF4A                bra        -0xB4 /* 00000AF4 */
  1177. 00000BAC  0C38 0004 012F           cmpi.b     [0x0000012F /* CPUFlag */], 0x4
  1178. 00000BB2  6738                     beq        +0x3A /* 00000BEC */
  1179. 00000BB4  0838 0004 0B22           btst.b     [0x00000B22 /* HWCfgFlags */], 0x4
  1180. 00000BBA  6734                     beq        +0x36 /* 00000BF0 */
  1181. fn00000BBC:
  1182. 00000BBC  204F                     movea.l    A0, A7
  1183. 00000BBE  F280 0000                fnop
  1184. 00000BC2  F327                     .extension 0x327 <<F/4-5/1>> // unimplemented
  1185. 00000BC4  3017                     move.w     D0, [A7]
  1186. 00000BC6  2E48                     movea.l    A7, A0
  1187. 00000BC8  0C40 1F18                cmpi.w     D0, 0x1F18
  1188. 00000BCC  6716                     beq        +0x18 /* 00000BE4 */
  1189. 00000BCE  0C40 3F18                cmpi.w     D0, 0x3F18
  1190. label00000BD2:
  1191. 00000BD2  6710                     beq        +0x12 /* 00000BE4 */
  1192. 00000BD4  0C40 3F38                cmpi.w     D0, 0x3F38 /* '?8' */
  1193. 00000BD8  670E                     beq        +0x10 /* 00000BE8 */
  1194. 00000BDA  0C40 1F38                cmpi.w     D0, 0x1F38
  1195. 00000BDE  6708                     beq        +0xA /* 00000BE8 */
  1196. 00000BE0  7000                     moveq.l    D0, 0x00
  1197. 00000BE2  600E                     bra        +0x10 /* 00000BF2 */
  1198. label00000BE4:
  1199. 00000BE4  7001                     moveq.l    D0, 0x01
  1200. 00000BE6  600A                     bra        +0xC /* 00000BF2 */
  1201. label00000BE8:
  1202. 00000BE8  7002                     moveq.l    D0, 0x02
  1203. 00000BEA  6006                     bra        +0x8 /* 00000BF2 */
  1204. label00000BEC:
  1205. 00000BEC  7003                     moveq.l    D0, 0x03
  1206. 00000BEE  6002                     bra        +0x4 /* 00000BF2 */
  1207. label00000BF0:
  1208. 00000BF0  7000                     moveq.l    D0, 0x00
  1209. label00000BF2:
  1210. 00000BF2  6000 FF00                bra        -0xFE /* 00000AF4 */
  1211. 00000BF6  0C78 3FFF 028E           cmpi.w     [0x0000028E /* ROM85 */], 0x3FFF
  1212. 00000BFC  6E1C                     bgt        +0x1E /* 00000C1A */
  1213. 00000BFE  303C A89F                move.w     D0, 0xA89F
  1214. 00000C02  A746                     syscall    GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
  1215. 00000C04  2408                     move.l     D2, A0
  1216. 00000C06  203C 0000 AB03           move.l     D0, 0xAB03
  1217. 00000C0C  A746                     syscall    GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
  1218. 00000C0E  203C 0000 0100           move.l     D0, 0x100
  1219. 00000C14  B488                     cmp.l      D2, A0
  1220. 00000C16  6606                     bne        +0x8 /* 00000C1E */
  1221. 00000C18  600A                     bra        +0xC /* 00000C24 */
  1222. label00000C1A:
  1223. 00000C1A  7000                     moveq.l    D0, 0x00
  1224. 00000C1C  6006                     bra        +0x8 /* 00000C24 */
  1225. label00000C1E:
  1226. 00000C1E  203C 0000 0200           move.l     D0, 0x200
  1227. label00000C24:
  1228. 00000C24  6000 FECE                bra        -0x130 /* 00000AF4 */
  1229. 00000C28  1038 021E                move.b     D0, [0x0000021E /* KbdType */]
  1230. 00000C2C  41FA 0016                lea.l      A0, [PC + 0x16 /* 00000C44, value 0x3130B02 */]
  1231. 00000C30  2248                     movea.l    A1, A0
  1232. label00000C32:
  1233. 00000C32  1218                     move.b     D1, [A0]+
  1234. 00000C34  6700 FED2                beq        -0x12C /* 00000B08 */
  1235. 00000C38  B200                     cmp.b      D1, D0
  1236. 00000C3A  66F6                     bne        -0x8 /* 00000C32 */
  1237. 00000C3C  91C9                     sub.l      A0, A1
  1238. 00000C3E  2008                     move.l     D0, A0
  1239. 00000C40  6000 FEB2                bra        -0x14C /* 00000AF4 */
  1240. 00000C44  0313                     btst       [A3], D1
  1241. 00000C46  0B02                     btst       D2, D5
  1242. 00000C48  0106                     btst       D6, D0
  1243. 00000C4A  0704                     btst       D4, D3
  1244. 00000C4C  0508                     btst       A0, D2
  1245. 00000C4E  0900                     btst       D0, D4
  1246. 00000C50  7000                     moveq.l    D0, 0x00
  1247. 00000C52  4A38 0291                tst.b      [0x00000291 /* PortBUse */]
  1248. 00000C56  6B16                     bmi        +0x18 /* 00000C6E */
  1249. 00000C58  1238 01FB                move.b     D1, [0x000001FB /* SPConfig */]
  1250. 00000C5C  0201 000F                andi.b     D1, 0xF
  1251. 00000C60  0C01 0001                cmpi.b     D1, 0x1
  1252. 00000C64  6608                     bne        +0xA /* 00000C6E */
  1253. 00000C66  2078 02DC                movea.l    A0, [0x000002DC /* ABusDCE */]
  1254. 00000C6A  1028 0007                move.b     D0, [A0 + 0x7]
  1255. label00000C6E:
  1256. 00000C6E  6000 FE84                bra        -0x17A /* 00000AF4 */
  1257. 00000C72  0C38 0002 012F           cmpi.b     [0x0000012F /* CPUFlag */], 0x2
  1258. 00000C78  6D16                     blt        +0x18 /* 00000C90 */
  1259. 00000C7A  7000                     moveq.l    D0, 0x00
  1260. 00000C7C  1038 0CB1                move.b     D0, [0x00000CB1 /* MMUType */]
  1261. 00000C80  0C00 0001                cmpi.b     D0, 0x1
  1262. 00000C84  670C                     beq        +0xE /* 00000C92 */
  1263. 00000C86  0C00 0003                cmpi.b     D0, 0x3
  1264. 00000C8A  6D04                     blt        +0x6 /* 00000C90 */
  1265. 00000C8C  5340                     subq.w     D0, 1
  1266. 00000C8E  6002                     bra        +0x4 /* 00000C92 */
  1267. label00000C90:
  1268. 00000C90  7000                     moveq.l    D0, 0x00
  1269. label00000C92:
  1270. 00000C92  6000 FE60                bra        -0x19E /* 00000AF4 */
  1271. 00000C96  303C A89F                move.w     D0, 0xA89F
  1272. 00000C9A  A746                     syscall    GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
  1273. 00000C9C  2408                     move.l     D2, A0
  1274. 00000C9E  203C 0000 A88F           move.l     D0, 0xA88F
  1275. 00000CA4  A746                     syscall    GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
  1276. 00000CA6  2038 0108                move.l     D0, [0x00000108 /* MemTop */]
  1277. 00000CAA  B488                     cmp.l      D2, A0
  1278. 00000CAC  670A                     beq        +0xC /* 00000CB8 */
  1279. 00000CAE  598F                     subq.l     A7, 4
  1280. 00000CB0  3F3C 0016                move.w     -[A7], 0x16
  1281. 00000CB4  A88F                     syscall    OSDispatch
  1282. 00000CB6  201F                     move.l     D0, [A7]+
  1283. label00000CB8:
  1284. 00000CB8  6000 FE3A                bra        -0x1C4 /* 00000AF4 */
  1285. fn00000CBC:
  1286. 00000CBC  48E7 E0E0                movem.l    -[A7], D0,D1,D2,A0,A1,A2
  1287. 00000CC0  43EF 001C                lea.l      A1, [A7 + 0x1C]
  1288. 00000CC4  3019                     move.w     D0, [A1]+
  1289. 00000CC6  2059                     movea.l    A0, [A1]+
  1290. 00000CC8  3400                     move.w     D2, D0
  1291. 00000CCA  D442                     add.w      D2, D2
  1292. 00000CCC  D442                     add.w      D2, D2
  1293. 00000CCE  D2C2                     add.w      A1, D2
  1294. 00000CD0  4241                     clr.w      D1
  1295. 00000CD2  5248                     addq.w     A0, 1
  1296. 00000CD4  6020                     bra        +0x22 /* 00000CF6 */
  1297. label00000CD6:
  1298. 00000CD6  2461                     movea.l    A2, -[A1]
  1299. 00000CD8  4242                     clr.w      D2
  1300. 00000CDA  141A                     move.b     D2, [A2]+
  1301. 00000CDC  D242                     add.w      D1, D2
  1302. 00000CDE  0C41 00FF                cmpi.w     D1, 0xFF
  1303. 00000CE2  6F0E                     ble        +0x10 /* 00000CF2 */
  1304. 00000CE4  0441 00FF                subi.w     D1, 0xFF
  1305. 00000CE8  9441                     sub.w      D2, D1
  1306. 00000CEA  323C 00FF                move.w     D1, 0xFF
  1307. 00000CEE  6002                     bra        +0x4 /* 00000CF2 */
  1308. label00000CF0:
  1309. 00000CF0  10DA                     move.b     [A0]+, [A2]+
  1310. label00000CF2:
  1311. 00000CF2  51CA FFFC                dbf        D2, -0x6 /* 00000CF0 */
  1312. label00000CF6:
  1313. 00000CF6  51C8 FFDE                dbf        D0, -0x24 /* 00000CD6 */
  1314. 00000CFA  2061                     movea.l    A0, -[A1]
  1315. 00000CFC  1081                     move.b     [A0], D1
  1316. 00000CFE  3021                     move.w     D0, -[A1]
  1317. 00000D00  2049                     movea.l    A0, A1
  1318. 00000D02  D040                     add.w      D0, D0
  1319. 00000D04  D040                     add.w      D0, D0
  1320. 00000D06  D0C0                     add.w      A0, D0
  1321. 00000D08  5448                     addq.w     A0, 2
  1322. 00000D0A  20A1                     move.l     [A0], -[A1]
  1323. 00000D0C  2288                     move.l     [A1], A0
  1324. 00000D0E  4CDF 0707                movem.l    D0,D1,D2,A0,A1,A2, [A7]+
  1325. 00000D12  2E5F                     movea.l    A7, [A7]+
  1326. 00000D14  4E75                     rts
  1327. fn00000D16:
  1328. 00000D16  48E7 E0C0                movem.l    -[A7], D0,D1,D2,A0,A1
  1329. 00000D1A  43EF 0018                lea.l      A1, [A7 + 0x18]
  1330. 00000D1E  2059                     movea.l    A0, [A1]+
  1331. 00000D20  3019                     move.w     D0, [A1]+
  1332. 00000D22  6F36                     ble        +0x38 /* 00000D5A */
  1333. 00000D24  0C40 00FF                cmpi.w     D0, 0xFF
  1334. 00000D28  6E30                     bgt        +0x32 /* 00000D5A */
  1335. 00000D2A  3219                     move.w     D1, [A1]+
  1336. 00000D2C  6F2C                     ble        +0x2E /* 00000D5A */
  1337. 00000D2E  0C41 00FF                cmpi.w     D1, 0xFF
  1338. 00000D32  6E26                     bgt        +0x28 /* 00000D5A */
  1339. 00000D34  5341                     subq.w     D1, 1
  1340. 00000D36  2251                     movea.l    A1, [A1]
  1341. 00000D38  4242                     clr.w      D2
  1342. 00000D3A  1419                     move.b     D2, [A1]+
  1343. 00000D3C  9441                     sub.w      D2, D1
  1344. 00000D3E  9440                     sub.w      D2, D0
  1345. 00000D40  6D18                     blt        +0x1A /* 00000D5A */
  1346. 00000D42  D2C1                     add.w      A1, D1
  1347. 00000D44  10C0                     move.b     [A0]+, D0
  1348. 00000D46  5340                     subq.w     D0, 1
  1349. label00000D48:
  1350. 00000D48  10D9                     move.b     [A0]+, [A1]+
  1351. 00000D4A  51C8 FFFC                dbf        D0, -0x6 /* 00000D48 */
  1352. label00000D4E:
  1353. 00000D4E  4CDF 0307                movem.l    D0,D1,D2,A0,A1, [A7]+
  1354. 00000D52  2F5F 0008                move.l     [A7 + 0x8], [A7]+
  1355. 00000D56  504F                     addq.w     A7, 8
  1356. 00000D58  4E75                     rts
  1357. label00000D5A:
  1358. 00000D5A  4210                     clr.b      [A0]
  1359. 00000D5C  60F0                     bra        -0xE /* 00000D4E */
  1360.